package com.b.object;

//计算学生的成绩并且进行打印
    //定义可变长度数组参数的方法   ”add(int[] scores)“；可变长参数的方法重载;
//在方法有重载时优先匹配固定参数的方法
public class Test001 {
    public static void main(String[] args) {

        student student1=new student();
        student student2=new student();
        student student3=new student();
        student student4=new student();
        student1.name="张三";                 //为第一个学生进行赋值
        student1.scores=78;
        student2.name="李四";                 //为第二个学生进行赋值
        student2.scores=88;
        student3.name="王五";                 //为第三个学生进行赋值
        student3.scores=78;
        student4.name="赵四";                 //为第四个学生进行赋值
        student4.scores=88;
        int[] huizong=new int[]{student1.scores,student2.scores,student3.scores,student4.scores};
        System.out.println( student1.add(student1.scores,student2.scores,student3.scores,student4.scores ) );//利用正常的参数个数进行输出累计值，这是一种”这是一种绝对准确“
        System.out.println(student1.add(huizong));              //利用数组可变长度进行数值的累加结果，这是一种”相对准确“
    }

}
class student{
    String name;               //定义学生的姓名
    int scores;             //定义学生的成绩
    public int add(int scores1,int scores2,int scores3,int scores4){        //计算学生的成绩
        return scores1+scores2+scores3+scores4;
    }
    public int add(int[] scores){                        //定义可变长度的数组进行计算的方法
        int sum=0;
        for (int i = 0; i < scores.length; i++) {       //进行循环累加
            sum+=scores[i];
        }
        return sum;
    }
}

